/*
 *  linux/lib/ctype.c
 *
 *  (C) 1991  Linus Torvalds
 */

#include <ctype.h>                          // 字符类型头文件。定义了一些有关字符类型判断和转换的宏

char _ctmp;                                 // 一个临时字符变量，供 ctype.h 文件中转换字符宏函数使用

// 字符特性数组(表)，定义了各个字符对应的属性，这些属性类型(如_C 等)在 ctype.h 中定义。
// 用于判断字符是控制字符(_C)、大写字符(_U)、小写字符(_L)等所属类型
unsigned char _ctype[] = {0x00,			    /* EOF */
_C,_C,_C,_C,_C,_C,_C,_C,			        /* 0-7 */
_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C,	    /* 8-15 */
_C,_C,_C,_C,_C,_C,_C,_C,			        /* 16-23 */
_C,_C,_C,_C,_C,_C,_C,_C,			        /* 24-31 */
_S|_SP,_P,_P,_P,_P,_P,_P,_P,			    /* 32-39 */
_P,_P,_P,_P,_P,_P,_P,_P,			        /* 40-47 */
_D,_D,_D,_D,_D,_D,_D,_D,			        /* 48-55 */
_D,_D,_P,_P,_P,_P,_P,_P,			        /* 56-63 */
_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U,	/* 64-71 */
_U,_U,_U,_U,_U,_U,_U,_U,			        /* 72-79 */
_U,_U,_U,_U,_U,_U,_U,_U,			        /* 80-87 */
_U,_U,_U,_P,_P,_P,_P,_P,			        /* 88-95 */
_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L,	/* 96-103 */
_L,_L,_L,_L,_L,_L,_L,_L,			        /* 104-111 */
_L,_L,_L,_L,_L,_L,_L,_L,			        /* 112-119 */
_L,_L,_L,_P,_P,_P,_P,_C,			        /* 120-127 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 128-143 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 144-159 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 160-175 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 176-191 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 192-207 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 208-223 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,		    /* 224-239 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};		    /* 240-255 */

